package cn.huas.dao.service;

import java.util.List;
import java.util.Map;

import cn.huas.model.Admin;
import cn.huas.model.Classes;
import cn.huas.model.Classroom;
import cn.huas.model.Course;
import cn.huas.model.CourseRClass;
import cn.huas.model.Professional;
import cn.huas.model.Systems;
import cn.huas.model.Teachers;
import cn.huas.model.TeachersRCourse;
import cn.huas.model.Teachingbuilding;
import cn.huas.modelVo.ArgsFlag;
import cn.huas.modelVo.JAll;
public interface RecordManager {
	
	public Boolean deleteProfessional(String ids) throws Exception ;
	public Boolean deleteClasses(String ids) throws Exception ;
	public Boolean deleteSystems(String ids) throws Exception ;
	public Boolean deleteCourse(String ids)throws Exception;
	public Boolean deleteTeachers(String ids) throws Exception ;
	public Boolean deleteTeachingbuilding(String ids)throws Exception;
	public Boolean deleteAdmin(String ids)throws Exception ;
	public Boolean deleteClassroom(String ids) throws Exception ;
	
	public boolean addClasses(Classes classes) throws Exception ;
	public boolean addSystems(Systems s) throws Exception ;
	public boolean addTeachers(Teachers teachers) throws Exception ;
	public boolean addTeachingbuilding(Teachingbuilding t)throws Exception ;
	public boolean addClassroom(Classroom classroom) throws Exception ;
	public boolean addCourse(Course course) throws Exception;
	public boolean addAdmin(Admin Admin) throws Exception ;
	public boolean addProfessional(Professional p) throws Exception ;

	public List<Classroom> queryClassroom(ArgsFlag args) throws Exception ;
	public List<Admin> queryAdmin(ArgsFlag args) throws Exception ;
	public List<Teachingbuilding> queryTeachingbuilding(ArgsFlag args) ;
	public List<Course> queryCourse(ArgsFlag args) throws Exception;
	public List<Professional> queryProfessional(ArgsFlag args) throws Exception ;
	public List<Systems> querySystems(ArgsFlag args) throws Exception ;
	public List<Classes> queryClasses(ArgsFlag args) throws Exception ;
	public List<Teachers> queryTeachers(ArgsFlag argsFlag) throws Exception ;

	public boolean loginAdmin(Admin admin) throws Exception;
	public boolean loginTeachers(Teachers teachers) throws Exception;
	public boolean loginClasses(Classes classes) throws Exception;
	

	//排课
	public boolean paike() throws Exception;

	public List<JAll> querySchedule(ArgsFlag argsFlag) throws Exception;
	public boolean addSchedule(ArgsFlag argsFlag) throws Exception;
	public Boolean deleteSchedule(String ids)throws Exception;

	public List queryPaikeByClassId(ArgsFlag argsFlag) throws Exception;
	public List queryPaikeByClassroomId(ArgsFlag argsFlag) throws Exception;
	public List queryPaikeByTeacherId(ArgsFlag argsFlag) throws Exception;
	public boolean addPaiKe(Map map) throws Exception;
	public boolean deletePaiKe(Map map) throws Exception;
	public String queryPaiKe(Map map) throws Exception;
	
	
	public List<CourseRClass> queryCourseRClass(ArgsFlag argsFlag) throws Exception;
	public List<TeachersRCourse> queryTeacherRCourse(ArgsFlag argsFlag) throws Exception;
	public boolean addToTeachersRCourse(String course_ids, String ids);
	public boolean addToCourseRClass(String courseIds, String classesIds);
	public List<TeachersRCourse> queryTeachersRCourse(ArgsFlag args);
	public boolean delFromTeachersRCourse(String teachersIds, String courseIds);	
	public boolean delFromCourseRClass(String classesIds, String courseIds);	
	
	//自动生成教学计划
	public boolean scheduleJihua() throws Exception;
}
